package cn.huiyunche.base.service.vo;

import cn.huiyunche.base.service.enums.COrderStatusEnum;
import cn.huiyunche.base.service.enums.PaymentStatusEnum;
import cn.huiyunche.base.service.model.CWaybillDetail;
import cn.huiyunche.base.service.model.CWaybillTrail;

import java.util.Date;
import java.util.List;

public class CWaybillVo {
    private Long id;

    private Long orderId;

    private Integer status;

    // 运单状态描述
    private String statusText;

    private String loadProvince;

    private String loadCity;

    private String loadContact;

    private String loadPhone;

    private Date loadTime;

    private Date loadActTime;

    private String unloadProvince;

    private String unloadCity;

    private Long unloadContact;

    private Long unloadPhone;

    private Date unloadTime;

    private Date unloadActTime;

    private Date createTime;

    private Date updateTime;

    private Long bidderId;

    private Long bidId;

    private Integer payStatus;

    // 运单支付状态显示
    private String payStatusText;

    private String waybillCode;

    private Long actDriver;

    // 物流跟踪信息
    private List<CWaybillTrail> cWaybillTrails;

    // 车信息
    private List<CWaybillDetail> cWaybillDetails;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getLoadProvince() {
        return loadProvince;
    }

    public void setLoadProvince(String loadProvince) {
        this.loadProvince = loadProvince == null ? null : loadProvince.trim();
    }

    public String getLoadCity() {
        return loadCity;
    }

    public void setLoadCity(String loadCity) {
        this.loadCity = loadCity == null ? null : loadCity.trim();
    }

    public String getLoadContact() {
        return loadContact;
    }

    public void setLoadContact(String loadContact) {
        this.loadContact = loadContact == null ? null : loadContact.trim();
    }

    public String getLoadPhone() {
        return loadPhone;
    }

    public void setLoadPhone(String loadPhone) {
        this.loadPhone = loadPhone == null ? null : loadPhone.trim();
    }

    public Date getLoadTime() {
        return loadTime;
    }

    public void setLoadTime(Date loadTime) {
        this.loadTime = loadTime;
    }

    public Date getLoadActTime() {
        return loadActTime;
    }

    public void setLoadActTime(Date loadActTime) {
        this.loadActTime = loadActTime;
    }

    public String getUnloadProvince() {
        return unloadProvince;
    }

    public void setUnloadProvince(String unloadProvince) {
        this.unloadProvince = unloadProvince == null ? null : unloadProvince.trim();
    }

    public String getUnloadCity() {
        return unloadCity;
    }

    public void setUnloadCity(String unloadCity) {
        this.unloadCity = unloadCity == null ? null : unloadCity.trim();
    }

    public Long getUnloadContact() {
        return unloadContact;
    }

    public void setUnloadContact(Long unloadContact) {
        this.unloadContact = unloadContact;
    }

    public Long getUnloadPhone() {
        return unloadPhone;
    }

    public void setUnloadPhone(Long unloadPhone) {
        this.unloadPhone = unloadPhone;
    }

    public Date getUnloadTime() {
        return unloadTime;
    }

    public void setUnloadTime(Date unloadTime) {
        this.unloadTime = unloadTime;
    }

    public Date getUnloadActTime() {
        return unloadActTime;
    }

    public void setUnloadActTime(Date unloadActTime) {
        this.unloadActTime = unloadActTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getBidderId() {
        return bidderId;
    }

    public void setBidderId(Long bidderId) {
        this.bidderId = bidderId;
    }

    public Long getBidId() {
        return bidId;
    }

    public void setBidId(Long bidId) {
        this.bidId = bidId;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public String getWaybillCode() {
        return waybillCode;
    }

    public void setWaybillCode(String waybillCode) {
        this.waybillCode = waybillCode == null ? null : waybillCode.trim();
    }

    public Long getActDriver() {
        return actDriver;
    }

    public void setActDriver(Long actDriver) {
        this.actDriver = actDriver;
    }

    public String getStatusText() {
        return status == null ? "" : COrderStatusEnum.getByValue(status).getText();
    }

    public void setStatusText(String statusText) {
        this.statusText = statusText;
    }

    public String getPayStatusText() {
        return payStatus == null ? "" : PaymentStatusEnum.getByValue(payStatus).getText();
    }

    public void setPayStatusText(String payStatusText) {
        this.payStatusText = payStatusText;
    }

    public List<CWaybillTrail> getcWaybillTrails() {
        return cWaybillTrails;
    }

    public void setcWaybillTrails(List<CWaybillTrail> cWaybillTrails) {
        this.cWaybillTrails = cWaybillTrails;
    }

    public List<CWaybillDetail> getcWaybillDetails() {
        return cWaybillDetails;
    }

    public void setcWaybillDetails(List<CWaybillDetail> cWaybillDetails) {
        this.cWaybillDetails = cWaybillDetails;
    }

    @Override
    public String toString() {
        return "CWaybillVo [id=" + id + ", orderId=" + orderId + ", status=" + status + ", statusText=" + statusText
                + ", loadProvince=" + loadProvince + ", loadCity=" + loadCity + ", loadContact=" + loadContact
                + ", loadPhone=" + loadPhone + ", loadTime=" + loadTime + ", loadActTime=" + loadActTime
                + ", unloadProvince=" + unloadProvince + ", unloadCity=" + unloadCity + ", unloadContact="
                + unloadContact + ", unloadPhone=" + unloadPhone + ", unloadTime=" + unloadTime + ", unloadActTime="
                + unloadActTime + ", createTime=" + createTime + ", updateTime=" + updateTime + ", bidderId=" + bidderId
                + ", bidId=" + bidId + ", payStatus=" + payStatus + ", payStatusText=" + payStatusText
                + ", waybillCode=" + waybillCode + ", actDriver=" + actDriver + ", cWaybillTrails=" + cWaybillTrails
                + ", cWaybillDetails=" + cWaybillDetails + "]";
    }
}